package negocio;

import java.sql.SQLException;
import java.util.Iterator;

import repositorio.ConexaoBD;
import repositorio.RepositorioPaciente;
import dados.Paciente;
import excecoes.PacienteNaoExisteException;

public class ControladorPaciente {

	private RepositorioPaciente repositorio;
	
	public ControladorPaciente(ConexaoBD conexao){
		this.repositorio = new RepositorioPaciente(conexao);
	}
	
	public void cadastrar(Paciente paciente) throws SQLException{
			this.repositorio.inserir(paciente);
	}
	
	public void editar(Paciente paciente) throws SQLException{
		this.repositorio.editar(paciente);
	}
	
	public void remover(Paciente paciente) throws SQLException{
		this.repositorio.remover(paciente.getId());
	}
	
	public Paciente buscar(Paciente paciente) throws SQLException, PacienteNaoExisteException{
		Paciente temp = this.repositorio.buscar(paciente.getId());
		if(temp == null){
			throw new PacienteNaoExisteException();
		}
		else{
			return temp;
		}
	}
	
	public Iterator<Paciente> getIterator() throws SQLException{
		return this.repositorio.iterator();
	}
	
	
	public boolean existe(Paciente paciente) throws SQLException{
		boolean retorno = false;
		
		Paciente temp = this.repositorio.buscar(paciente.getId());
		
		if(temp != null){
			retorno = true;
		}
		return retorno;
	}
}
